package oscar.examen.Structs;


import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;


public class TipoProductoAction extends ActionSupport implements ModelDriven<TipoProducto> {

	private static final long serialVersionUID = -6659354552584240539L;

	
	private TipoProducto tipoProducto = new TipoProducto();
	private List<TipoProducto> listaTipoProducto = new ArrayList<TipoProducto>();
	private TipoProductoDAO tipoProductoDAO = new TipoProductoDAO();

	
	@Override
	public TipoProducto getModel() {
		return tipoProducto;
	}
	
	/**
	 * Guardar o actualizar un TipoProducto
	 * @return String
	 */
	public String guardarOActualizar()
	{	
		tipoProductoDAO.guardarOActualizarTipoProducto(tipoProducto);
		return SUCCESS;
	}
	
	/**
	 * Listar los tipoProductos
	 * @return String
	 */
	public String listar()
	{
		listaTipoProducto = tipoProductoDAO.listarTipoProductos();
		return SUCCESS;
	}
	
	/**
	 * Eliminar un tipoProducto
	 * @return String
	 */
	public String eliminar()
	{
		HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
		tipoProductoDAO.eliminarTipoProducto((Long.parseLong(request.getParameter("id"))));
		return SUCCESS;
	}
	
	/**
	 * Listar un tipoProducto
	 * @return String
	 */
	public String editar()
	{
		HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
		tipoProducto = tipoProductoDAO.listarTipoProductoPorId((Long.parseLong(request.getParameter("id"))));
		return SUCCESS;
	}
	
	public TipoProducto getTipoProducto() {
		return tipoProducto;
	}

	public void setTipoProducto(TipoProducto tipoProducto) {
		this.tipoProducto = tipoProducto;
	}

	public List<TipoProducto> getListaTipoProducto() {
		return listaTipoProducto;
	}

	public void setListaTipoProducto(List<TipoProducto> listaTipoProducto) {
		this.listaTipoProducto = listaTipoProducto;
	}
	


}
